English - French - German -Italian - Spanish -فارسي

Sunday March 30, 2003 09:22:17 ب.ظ

                                                                                                                   
 
تحت شرايطی بعضاً ممكن است به تغيير يك Master Page بصورت پويا نياز پيدا كنيم. مثلا" ممكن است در يك وب سايت برای موضوعات مختلف طرح بندی سايت تغيير كند. بديهی است كه برای اين منظور بسته به نيازمان Master Page های مختلفی را در ابتدای كار می بايست ايجاد كنيم. در اين مقاله می آموزيد كه چگونه می توان بصورت پويا يك Master Page را با ديگری جايگزين كرد.

برای اين منظور Master Page دوم را به وب سايتمان كه در قسمت اول مقاله ايجاد كرديم اضافه كرده و يك كنترل button برای سوئيچ كردن بين Master Page ها اضافه می كنيم. از آنجا كه Master Page دوم بسيار شبيه اولی می باشد لذا تنها كافيست يك كپی از آن تهيه كرده و برای تمايز، رنگ پس زمينه آن را تغيير دهيم.

برای اين منظور مراحل زير را دنبال كنيد:

١- در Solution Explorer بر روی Master1.master راست كليك كرده و گزينه كپی را انتخاب كنيد.

٢- بر روی نام وب سايت راست كليك كرده و گزينه paste را انتخاب كنيد.

٣- Master Page كپی شده را به Master2.master تغيير نام دهيد.

٤- فايل Master2.master را در حالت Html باز كرده و در قسمت Master1 ،@Master را به Master2 تغيير دهيد.
 
Master Language="C#" CompileWith="Master2.master.cs" ClassName="Master2_master@"

٥- به حالت Design View برويد.

٦- در پنجره properties از ليست باز شو كه در قسمت بالای اين پنجره قرار دارد گزينه DOCUMENT را انتخاب كنيد.

۷- مقدار BgColor را به دلخواه تغيير دهيد.

۸- Master Page جديد را در حالت سورس كد باز كنيد و نام كلاس را از Master1_master به Master2_master تغيير دهيد.



برای اضافه كردن يك button جهت تغيير پويا Master Page ها مطابق زير عمل كنيد:

١- يك كنترل از نوع LinkButton به پايين صفحه Master2.master اضافه كرده و برای آن يك نام انتخاب كنيدمثلا" “Change to MP1”

٢- بر روی button دو بار كليك كنيد تا تابع رويداد كليك آن ايجاد شود. سپس كد زير را به آن اضافه كنيد.
 

void LinkButton1_Click(object sender, EventArgs e)

{

Session("masterpage") = "MasterPage1.master";

Response.Redirect(Request.Url.ToString());

}

كد فوق موجب بار گزاری نام Master Page اول در Session شده و سپس صفحه جاری دوباره فراخوانی می شود.

٣- صفحه Master1.master را باز كنيد و يك كنترل LinkButton مطابق مراحل فوق به آن اضافه كنيد و نوشته روی آن را “Change to MP2” قرار دهيد.

٤- در تابع مربوط به رويداد كليك آن كد زير را اضافه كنيد.

void LinkButton1_Click(object sender, EventArgs e)

{

Session("masterpage") = "MasterPage2.master";

Response.Redirect(Request.Url.ToString());

}

٥- صفحه About.aspx را در حالت سورس كد باز كنيد.

٦- تابع Page_PreInit را اضافه كرده و كد زير را در آن بنويسيد.

كد فوق باعث جايگزين كردن محتويات [Session[“masterpage” با مقدار مشخصه Me.MasterPageFile می شود. اين كار می بايست حتما" در تابع Page_PreInit صورت گيرد. زيرا در يك WebForm قبل از هرگونه مقدار دهی اوليه می بايست تكليف Master Page آن مشخص شود. و بهترين گزينه تابع Page_PreInit می باشد. لذا قرار دادن اين كد در توابعی مثل Page_Init و Page_Load كه بعد از تابع Page_PreInit فراخوانده می شوند، تأثير گذار نخواهد بود.

حال بعد از اعمال مراحل فوق حاصل كار را مطابق زير امحان می كنيم:

١- CTRL+F5 را فشار دهید تا صفحه home در browser نمایان شود.

٢- به صفحه About رفته و بر روی Chage to MP2 کلیک کنید. مشاهده می کنید که صفحه About با Master2.master باز خواهد شد.

٣- بر روی Change to MP1 کلیک کنید. می بینید که اینبار صفحه About با Master1.master باز می شود.

مراحل فوق يك مثال بسيار ساده برای تغيير Master Page ها بصورت پويا را شامل می شدند. امروزه بعضی از وب سايتها مثل MSN.com اين قابليت را برای كاربران عضو مهيا ساخته اند كه بتوانند طرح بندی صفحه مربوط به خود را بصورت پويا براحتی تغيير دهند. مسلماً استفاده از Master Page ها برای اين منظور كار را بسيار ساده و سريع خواهد نمود.

دریافت Web Developer 2005 Express Edition (ASP.NET 2) beta

مرجع: MSDN

 

شمارنده

صفحه اول
فارسي
English
French
German
Italian
Spanish

آموزشي

PASCAL
JAVA
C
C++
ASSEMBLY
LOGO 4
FOXPRO
MAYA5
FREEHAND
A+
UNIX
LINUX
AUTOCAD
PROLOG
FORTH
COBOL
LISP
FORTRAN
APL
ADA

علمي دانشگاهي

صفحه مقالات
پيام نور جهرم
ساختمان گسسته
مدار منطقي
زبان تخصصي
معماري كامپيوتري
الگوريتم و فلوچارت
ذخيره و بازيابي
ريزپردازنده
شبكه
پايگاه داده
هوش مصنوعي
شبيه سازي
گرافيك

سرگرمي و دانلود

كليپ رايگان
موسيقي رايگان
بازي رايگان
آلبوم عكس
رضا كوچولو
مسابقات

خدمات سايت

گفتگو با مشاور
صفحه افراد
ليست دارو
 

ارتباط

با مشاور
با سازنده